package com.zzsong.proxy.proxy;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

public class DynamicProxy implements InvocationHandler {
    Object object;

    /**
     * 第一个参数obj一般是指代理类，method是被代理的方法，如上例中的request()，
     * args为该方法的参数数组。这个抽象方法在代理类中动态实现。
     * @param proxy 代理类
     * @param method 代理方法
     * @param args 参数
     * @return 结果
     * @throws Throwable 异常
     */
    @Override
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
        return method.invoke(object,args);
    }

    public DynamicProxy(Object object){
        this.object=object;
    }
}
